<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
    </startup>
  <system.serviceModel>
    <services>
      <!-- This section is optional with the new configuration model
           introduced in .NET Framework 4. -->
      <service name="OneApp.IGCC.CommunicationService.IGCCService" behaviorConfiguration="IGCCServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:9001/igcc/service"/>
            <add baseAddress="net.tcp://localhost/igcc/service"/>
          </baseAddresses>
        </host>
        
        <endpoint address="" binding="wsHttpBinding" contract="OneApp.IGCC.CommunicationService.IIGCC"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

        <endpoint name="NetTCPEndPoint" address="" binding="netTcpBinding" bindingConfiguration="IGCCNetPipeBinding" contract="OneApp.IGCC.CommunicationService.IIGCC"/>
        <endpoint name="NetTCPMetadataPoint" address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="IGCCServiceBehavior">
          <serviceMetadata httpGetEnabled="false"/>
          <serviceDebug includeExceptionDetailInFaults="False"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <bindings>
      <netTcpBinding>
        <binding name="IGCCNetPipeBinding" maxReceivedMessageSize="512000" sendTimeout="00:05:00">
          <security mode="Transport">
            <transport protectionLevel="EncryptAndSign"/>
          </security>
        </binding>
        <binding name="IGCCNetPipeBindingExternal" maxReceivedMessageSize="512000" sendTimeout="00:05:00">
          <security mode="Transport">
            <transport protectionLevel="EncryptAndSign"/>
          </security>
        </binding>
      </netTcpBinding>
      <netNamedPipeBinding>
        <binding name="NetNamedPipeBinding_IExternal" maxReceivedMessageSize="512000" sendTimeout="00:5:00"/>
      </netNamedPipeBinding>
      <basicHttpBinding>
        <binding name="IGCCHTTPBinding" maxBufferSize="100" maxReceivedMessageSize="100"></binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="net.pipe://localhost/dsa/external" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_IExternal" contract="DSAExternalServiceProxy.IExternal" name="NetNamedPipeBinding_IExternal"></endpoint>
    </client>
  </system.serviceModel>
</configuration>
